﻿#pragma once
#ifndef __WLOG_HPP__
#define  __WLOG_HPP__

#include <sstream>
#include <iostream>
#include <memory>






class wlog
{
public:
	explicit wlog()
	{

	}
	~wlog();
	
	template<typename T>
	wlog& operator <<(const T& arg) {
		oss_ << arg;
		return *this;
	}
private:
	std::ostringstream oss_;
	std::string str_;
	
};



class flog
{
public:
	explicit flog()
	{

	}
	~flog();
	
	template<typename T>
	flog& operator <<(const T& arg) {
		oss_ << arg;
		return *this;
	}
private:
	std::ostringstream oss_;
	std::string str_;

	

};





#define WLOG (wlog())


#define FLOG (flog())

#endif
